#include "tests.h"
#include "commun/utilise_sdl.h"
#include "temps/minuterie.h"
#include "interface/interface.h"
#include "interface/surface_image.h"
#include "interface/surface_immaterielle.h"
#include "interface/surface_texte.h"
#include "interface/texte_editable.h"
#include "interface/bouton_poussoir.h"
#include <string>
#include <sstream>
#include <ctime>
#include <cmath>

class changer_le_fond_de_couleur {
	surface_image &fond_;
public:
	changer_le_fond_de_couleur(surface_image &f) : fond_(f) {}
	void operator()(int x, int y) {
		std::ostringstream oss;
		oss << "fond_" << (rand()%4+1) << ".png";
		fond_.changer(oss.str());
	}
};

void petite_interface() {
	srand(time(NULL));
	module_sdl lancer_sdl;
	module_interface mon_interface;
	
	surface_image fond("fond_1.png");
	surface_texte txt("Coucou les amis", false, 10, 40);
	texte_editable<valider_adresses_et_hotes> montxt("", true, 10, 60);
	surface_image btncnx("bouton_connexion.png", 100, 80);
	surface_immaterielle zone_quitter(10, 113, 34, 34);
	bouton_poussoir<> presser_pour_quitter(zone_quitter);
	bouton_poussoir<changer_le_fond_de_couleur> btn(btncnx, changer_le_fond_de_couleur(fond));
	
	avec_attente<10> attendre;
	
	do {
		mon_interface.actualiser_affichage();
		mon_interface.traiter_evenements();
		attendre();
	} while(!mon_interface.doit_quitter() && !presser_pour_quitter());
	
}
